#if !defined(SM__BABE_H)
#define SM__BABE_H

#include "swagme.h"
#include "Character.h"

#define BABE_DEFAULT_GENEROSITY 0

class Babe : public Character {
private:
  double generosity;

  // keeps track of when we started posing
  Uint32 mPoseStartTimeInMs;
  Uint32 mPoseTimeInMs;

public:
  Babe(Sprite* _ps, int _x, int _y, double _unitsPerSec,
          double generosity = BABE_DEFAULT_GENEROSITY);

  sm_cd_object getObjectType() const { return sm_cdo_babe; }

  void Update(Game*, Uint32 prevTick, Uint32 thisTick);

  double getGenerosity() const { return generosity; }
  
  // returns the time when this babe could next pose (might be in the past)
  Uint32 nextPosingOpportunity();
  void startPosing(Uint32 _now, Uint32 _length);
  bool isPosing(Uint32 _now);
                                     
};

#endif // SM__BABE_H
